System and Method for An Adaptive Scheduling System Architecture

ABSTRACT

The disclosed embodiments describe an automatic, adaptive system and method for efficiently and effectively scheduling advertising spots in commercial break locations across various networks, zones, channels, dates, times, and specific products, for example. The disclosed embodiments make use of fixed and relative factors, that may be user-defined, which assign a “cost” to one or more particular breaks which thereby allow for quick and accurate scheduling of spots. The “costs” may represent a value, or desirability, of a break for the advertiser and may be a function of both the fixed and relative factors. The fixed and relative factors may be configurable and may change for different advertising clients, different contract lines, different networks, different spot placement, etc. 
     The placement of spots may be accomplished through the use of an ordered list which may be generated based on a number of inputs that may be user-selected. A non-limiting example of user inputs may include: spot length, spot cost, contract line priority, beginning date/time of contract line, ending date/time of contract line, a predefined value index for the client, and contract line number, among others.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a divisional application of co-pending U.S.patent application Ser. No. 11/701,422 filed 2 Feb. 2007 and entitled“System and Method for an Adaptive Scheduling System Architecture”, theentirety of which is hereby incorporated herein by reference.Additionally, cross-reference is hereby made to co-pending U.S. patentapplication Ser. No. 11/701,423 filed 2 Feb. 2007 and entitled “Systemand Method for an Adaptive Scheduling System Architecture”, the entiretyof which is hereby incorporated by reference.

BACKGROUND

Current scheduling systems for placing commercial messages, sometimesreferred to herein as “advertising spots” or “spots” in communicationmedia such as television (e.g., broadcast, cable, etc.), radio (e.g.,broadcast, satellite, etc.), wireless access (e.g., hand-held deviceslike personal digital assistants, cell phones, iPods, Blackberries,etc.) or other media, are incapable of meeting the burgeoning demand ofnew networks and channels for advertising or the plethora of advertisingspots that need to be scheduled. Additionally, the complexity with whichcurrent advertising is designed to be scheduled is another factor thatis stretching the limits of current scheduling systems.

Current scheduling systems, either manual or “automatic”, typically relyon only two inputs for determining when an advertising spot is to bescheduled: rate (cost) and contract line priority. As is known in theart, the cost of airing an advertising spot may vary depending on anumber of factors, the most common being the day of the week and thetime of the day the spot is aired. For example, a spot aired in “primetime” when the potential audience is large is more expensive than airingthe spot during the middle of the night when the potential audience issmaller Priorities in prior art scheduling systems are generally set andstatic and therefore require a large amount of time and effort tochange. Additionally, if a higher-priority advertising spot were to tryto be scheduled after a lower-priority spot was already scheduled,typical prior art systems typically would have to schedule thehigher-priority spot around the lower-priority spot, thereby turning thepriorities upside-down, or spend a lot of time and effort manuallyrearranging the schedule to account for the placement of thehigher-priority spot. This is inefficient, ineffective, and expensive.Obviously, there is a need for an advertising spot scheduling systemthat can take into account more than two parameters, allow scheduling ofmultiple advertising spots on multiple forms of media, each having alarge number of networks and/or channels, and be able to adapt tochanging conditions.

The present disclosure takes into account the complexity inherent incurrent and future advertising scheduling systems and methods. Forexample, the present disclosure may make use of a ranking algorithm thatranks available commercial breaks in communication media programscheduling and may take into account a variety of factors, some fixedfactors and some relative factors, as herein described, in performingsuch ranking Furthermore, the selection of which factors to use and theweight given to each factor may be user-defined rather than preset by,for example, a network, a scheduling entity, or a governing body. Byusing a variety of factors, which may or may not be user-defined, thecommercial break locations (“breaks”) where spots are to be placed(“scheduled”) may be tailored to better meet the needs of theadvertiser.

Additionally, with the advent of cable television systems and theplethora of networks now available for viewers to watch, the prior artsystems of manually scheduling spots or automatically scheduling spotsaccording to fixed rules, becomes an intractable problem which the priorart systems cannot handle efficiently or effectively.

Accordingly, it is an object of the present disclosure to obviate theproblems of the prior art and to provide a method and system ofscheduling where an ordered list of advertising spots to be scheduled isprovided where each spot has an associated scheduling factor, a firstone of the spots is selected, one or more breaks for one or morenetworks are selected, a first cost for each of the breaks is determinedas a function of a predetermined algorithm, and the first spot isassigned (i.e., “placed” or “scheduled”) to one of the breaks which hasa lowest first cost.

It is also an object of the present disclosure to provide a method andsystem of scheduling where an ordered list of spots is generated from aselect group of spots to be scheduled, where each of the spots has anassociated scheduling factor, and a first spot is selected and assignedto a first break chosen from multiple breaks as a function of a firstcost assigned individually to each of the multiple breaks, where each ofthe first costs is a function of a predetermined fixed parameter.Additionally, if during the method of scheduling a second spot it isdetermined that no unassigned breaks have a second cost less than apredetermined amount thereby preventing the second spot from beingassigned to one of the unassigned breaks, determining the relativerankings of the first and second spots and if the ranking of the secondspot is greater than the ranking of the first spot, bumping the firstspot from the first break and assigning the second spot to the firstbreak. However, if the ranking of the second spot is not greater thanthe ranking of the first spot, place the second spot on an exceptionslist to be placed later.

It is another object of the present disclosure to provide a computerprogram for scheduling where the computer program includescomputer-readable code including program instructions for providing anordered list spots to be scheduled where each spot has an associatedscheduling factor, selecting a first one of the spots, providingmultiple breaks for one or more networks, determining a first cost foreach of the breaks as a function of a predetermined algorithm, andassigning the first spot to one of the breaks which has a lowest firstcost.

It is a further object of the present disclosure to provide a system forscheduling including a database comprising (a) an ordered list of spotsto be scheduled where each spot has an associated scheduling factor, and(b) a plurality of breaks for one or more networks, and a microprocessoroperatively connected to the database, where the microprocessorcomprises (a) circuitry for selecting a first spot, (b) circuitry fordetermining a first cost for each of the breaks as a function of apredetermined algorithm, and (c) circuitry for assigning the first spotto one of the breaks which has a lowest first cost. Alternatively, thecircuitry for assigning the first spot may assign the first spot to oneof the breaks that has a first cost less than a first predeterminedamount. Additionally, the system for scheduling may include circuitryfor removing the first spot from the ordered list of spots.

Furthermore, the system for scheduling may include circuitry forselecting a second spot, circuitry for determining a second cost forunassigned breaks as a function of the first cost and as a function of apredetermined relative parameter, and circuitry for assigning the secondspot to one of the unassigned breaks which has wither a lowest secondcost or a second cost that is less than a second predetermined amount.In addition, the circuitry for assigning the second spot may determinethat no unassigned breaks have a second cost less than a secondpredetermined amount thereby preventing the second spot from beingassigned to one of the unassigned breaks, and may determine that thesecond spot has a ranking greater than a ranking for the first spot,bumps the first spot from the first break, and assigns the second spotto the first break. Alternatively, the circuitry for assigning thesecond spot may determine that no unassigned breaks have a second costless than a second predetermined amount thereby preventing the secondspot from being assigned to one of the unassigned breaks, may determinethat the second spot has a ranking less than a ranking for the firstspot, and may place the second spot on an exceptions list, and mayremove the second spot from the ordered list of spots. Additionally, thecircuitry for assigning the second spot may assign the second spot toany one of the unassigned breaks. Still further, the system forscheduling may include circuitry for assigning advertising (“ad”) copyto the spots.

It is yet another object of the present disclosure to provide a methodand system for scheduling including prioritizing a list of networks forscheduling spots; determining if one or more networks on the list ofnetworks requires spot scheduling such that (a) if none of the networksrequires spot scheduling, displaying a network spot schedule, or (b) ifone of the networks requires spot scheduling then (i) selecting a firstnetwork, (ii) obtaining scheduling information, (iii) generating anordered list of spots, (iv) selecting a first contract line from theordered list, where the first contract line contains one or more spotsto be scheduled, and (v) selecting a first spot; based on the schedulinginformation, determining if one or more breaks on the selected networkare acceptable for placing the first spot, where (a) if one or moreacceptable breaks is determined to exist, scheduling the first spot inone of the acceptable breaks, or (b) if one or more acceptable breaks isdetermined to not exist then (i) determining if a bump candidate exists,(ii) if no bump candidate exists then logging the first spot as anexception, and (iii) if a bump candidate exists, bumping the bumpcandidate from its associated break, placing the bump candidate on theordered list of spots, and scheduling the first spot in the breakassociated with the bump candidate; determining if there are anyadditional spots associated with the contract line where (a)if there areadditional spots associated with the contract line, selecting a secondspot from the first contract line and repeating the method for thesecond spot, or (b) if there are no additional spots associated with thefirst contract line, check and assign ad copy to all scheduled spots;and determining if there are additional contract lines, where (a) ifthere are additional contract lines, selecting a second contract lineand repeating the method for the second contract line, or if there areno additional contract lines, placing spots logged as exceptions andrepeating the method for a second network.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 a is a first part of a flow diagram of a scheduling methodaccording to an embodiment of the disclosure.

FIG. 1 b is a second part of a flow diagram of a scheduling methodaccording to an embodiment of the disclosure.

FIG. 2 is a flow diagram of a scheduling method according to anembodiment of the disclosure.

FIG. 3 a is a flow diagram of a scheduling method according to anembodiment of the disclosure.

FIG. 3 b is a flow diagram of a scheduling method according to anembodiment of the disclosure.

FIG. 3 c is a flow diagram of a scheduling method according to anembodiment of the disclosure.

FIG. 3 d is a flow diagram of a scheduling method according to anembodiment of the disclosure.

FIG. 3 e is a flow diagram of a scheduling method according to anembodiment of the disclosure.

FIG. 3 f is a flow diagram of a scheduling method according to anembodiment of the disclosure.

FIG. 4 a is a flow diagram of a scheduling method according to anembodiment of the disclosure.

FIG. 4 b is a flow diagram of a scheduling method according to anembodiment of the disclosure.

FIG. 4 c is a flow diagram of a scheduling method according to anembodiment of the disclosure.

FIG. 4 d is a flow diagram of a scheduling method according to anembodiment of the disclosure.

FIG. 4 e is a flow diagram of a scheduling method according to anembodiment of the disclosure.

FIG. 4 f is a flow diagram of a scheduling method according to anembodiment of the disclosure.

FIGS. 5 a through 5 k illustrate an example of spot scheduling accordingto an embodiment of the disclosure.

FIG. 6 is illustrative of an exemplary graphical user interfaceaccording to an embodiment of the disclosure.

FIG. 7 is illustrative of an exemplary graphical user interfaceaccording to an embodiment of the disclosure.

FIG. 8 is illustrative of an exemplary graphical user interfaceaccording to an embodiment of the disclosure.

FIG. 9 is illustrative of an exemplary graphical user interfaceaccording to an embodiment of the disclosure.

FIG. 10 is a block diagram of a scheduling system according to anembodiment of the disclosure.

DETAILED DESCRIPTION

With the advent of communication signals being carried by, for example,cable systems, telephony networks, the internet and other computernetworks, and satellite systems, for display to viewers via standardtelevision interfaces, computer interfaces, and other non-standardtelevision interfaces (e.g., personal digital assistants, cell phones,iPods, Blackberries, etc.), the opportunity and demand for schedulingadvertising spots is ever increasing. In order to meet the demand, thedisclosed embodiments describe a variety of systems and methods capableof efficiently and effectively scheduling spots in commercial breaklocations (“breaks”) for the large number of networks for which spotsneed to be scheduled. The disclosed embodiments may make use of fixedand relative factors (sometimes referred to herein as “fixed parameters”and “relative parameters”, respectively), that may be user-defined, inorder to quickly and accurately schedule advertiser's spots at thedates, times, and for the channels that the advertisers desire.

The novel scheduling method, sometimes referred to herein as “AdaptiveScheduling”, allows for a number of advantages not available in priorart manual and/or automatic scheduling systems, such as, for example,the elimination of traditional separate processes for roadblockscheduling (i.e., placing the same spot in the same break time formultiple channels so that viewers on the multiple channels each see thesame spot), the ability for the advertiser to have a hand in setting thegoals/costs of the advertising campaign; reducing manual scheduling ofexceptions (i.e., spots that cannot be placed due to a lack of breaksmeeting the advertiser's preferred scheduling criteria) due to a moreeffective placement of spots, and reducing the overall time required toschedule spots.

As further discussed herein, specifically with reference to FIGS. 5 athrough 5 k, the fixed factors and the relative factors may beuser-defined. Fixed factors and relative factors are “costs” assigned toa break. These “costs” may represent a value, or desirability of, abreak for the advertiser. These factors may be used to achieve anappropriate vertical and horizontal rotation and overall spot placement.Fixed factors may be the same regardless of which spot is being placed.Relative factors may vary as spots are placed. The cost of a break maybe a function of both the fixed and relative factors. The fixed andrelative factors may be configurable and may change for differentadvertising clients, different contract lines, different networks,different spot placement, etc.

Additionally, the placement of spots may be accomplished through the useof an ordered list, sometimes referred to herein as an “AdaptiveScheduling Order by Clause” or an “AS Order by Clause”, which may begenerated based on a number of inputs that may be user-selected. Anon-limiting example of user inputs may include: spot length, spot cost,contract line ranking, beginning date/time of contract line, endingdate/time of contract line, a predefined value index for the client,ranking value, contract line number, etc. The AS Order by Clause may beused in the determination of the order in which spots are placed by, forexample, ordering the various contract lines and/or ordering the variousspots to be placed within one or more contract lines.

FIGS. 1 a and 1 b combined illustrate a method for scheduling spotsaccording to an embodiment of the disclosure. The method may be carriedout by a computer program executing programmable instructions on amicroprocessor-based system. The method illustrated in FIGS. 1 a and 1 bmay include three loops, as shown in the Figures, which may be referredto as the Network Loop, and Spot Loop, and the Contract Line loop.Referring now to FIG. 1 a, at block 100 multiple networks for whichspots are to be scheduled may be prioritized. At block 110, a decisionmay be made as to whether there are additional networks on which toschedule spots. If all the networks for which spots are to be scheduledhave been scheduled, then the procedure may end and a display of theschedule for one or more of the networks may be created, printed out,stored, etc. If there are more networks for which spots need to bescheduled, at block 111 one of the networks that need to be scheduled isselected. At block 112 existing information may be accessed and/orloaded. This information may include, for example, the network'sprogramming schedule, the available breaks, and any special events thatmay need to be taken into account. At block 113 new information may beaccessed and/or loaded. This new information may include, for example,new programming for the network, Interconnect updates (where anInterconnect, as is known in the art, is an entity that may reserve aportion of the breaks for a given network or networks for the exclusiveuse by the Interconnect), etc. It will be understood by those of skillin the art that the above instances are only exemplary in nature and arenot intended in any way to limit the disclosure.

Referring now to FIG. 1 b, after block 113, the procedure goes to block114 where a list of required spots may be generated. This list,sometimes referred to herein as an “ordered list” may be ordered and/orprioritized by a number of inputs, such as the aforementioned inputs forthe AS Order by Clause. Once the ordered list is generated, at block 115a contract line may be selected and at block 116 a spot may be selectedfrom the selected contract line.

At block 120 a determination may be made regarding possible locationsfor the spot to be scheduled, i.e., a determination may be made as towhich breaks meet the criteria for placement of the spot. The criteriamay include fixed and relative parameters and/or other factorsincluding, but not limited to, start/stop date and time for the spot,availability of the spot and/or break for scheduling, program nameand/or type associated with the break, product type associated with thespot, product conflict with the name/type of program associated with thebreak, association between the product associated with the spot and thetype of program associated with the break, minimum/maximum date/timeseparation between the spot and types of programs that may conflict withthe spot, separation between the client's spot and a spot placed byanother client, etc. The fixed and relative parameters may be taken intoaccount in this step of the procedure as will be discussed in moredetail below with respect to FIGS. 5 a through 5 k. If one or more ofthe breaks meets the criteria for placing the spot, the spot is placedin one (or more) of the breaks at block 121. If none of the breaks meetthe criteria for placing the spot, then a “bump candidate” is sought atblock 130. A bump candidate may be a placed spot that has a lowerranking than the current spot to be placed. Additionally, the bumpcandidate may be placed in a break that meets the criteria for thecurrent spot to be placed. Alternatively, the bump candidate may beplaced in a break that is a predetermined amount below the minimumcriteria for the current spot to be placed. If a bump candidate isfound, then at block 131 the bump candidate may be bumped, i.e., removedfrom the break it currently occupies, at block 132 the bump candidatemay be placed on the spot list (the ordered list) to be selected forscheduling later, and at block 121 the current spot to be placed may beplaced in the break that was occupied by the bump candidate. If a bumpcandidate is not found, then the current spot to be placed is enteredonto an exceptions list so that the current spot may be placed, forexample, in the best available break as discussed below.

At block 140, a determination is made as to whether the spot that wasplaced or entered onto the exceptions list is the last spot for thecurrent contract line. If the placed/excepted spot is not the last spotfor the current contract line, then the next spot for the currentcontract line is selected at block 116 (thereby closing the Spot Loop)and the above procedure may be repeated for this newly-selected spot. Ifthe placed/excepted spot is the last spot for the current contract line,then advertising copy is checked at block 141 and advertising copy isassigned at block 142, as is known in the art, for each of the spots onthe current contract line.

At block 150, a determination is made as to whether the current contractline is the last contract line having spots that need to be scheduled.If the current contract line is not the last contract line having spotsthat need to be scheduled, then the next contract line is selected atblock 115 (thereby closing the Contract Loop) and the above proceduremay be repeated for this newly-selected contract line. If the currentcontract line is the last contract line having spots that need to bescheduled, then those spots on the exception list, such as the spotsplaced on the exception list in block 133 above, may be placed at block151. After the excepted spots are placed, a determination is made atblock 110 as to whether there are additional networks for which spotsneed to be scheduled. If there are additional networks for which spotsneed to be scheduled, a new network is selected at block 111 (therebyclosing the Network Loop) and the above procedure may be repeated forthis newly-selected network. If there are no additional networks forwhich spots need to be scheduled, then the procedure may end at block117 and a display of the schedule for one or more of the networks may becreated, printed out, stored, etc., as discussed above.

With reference now to FIG. 2, a different embodiment of a system andmethod for scheduling spots is disclosed. At block 200 a network forscheduling spots is selected. At block 201, existing and new informationand updates for programming on the network are checked and added fordecision making. At block 202, a spot list is generated, similar to the“ordered list” discussed above with respect to FIGS. 1 a and 1 b. Atblock 203, a spot is selected for scheduling. At block 204, possiblelocations (i.e., breaks) for the spot to be placed are determined. Ifpossible breaks exist, the spot may be placed in one or more of thepossible breaks at block 205. If possible breaks do not exist, at block209 a determination is made as to whether lower ranking spots arealready scheduled in one or more breaks that meet the criteria forplacing the current spot (i.e., the lower ranking spot(s) occupies abreak(s) that meets the needs for scheduling the current spot or issufficiently close to meeting the needs for the scheduling the currentspot). If a lower ranking spot is scheduled in a break that meets thecriteria for placing the current spot, at block 210 the lower rankingspot may be bumped and may be placed on the spot list for laterscheduling, and at block 205 the current spot may be place in the nowvacant break. If a lower ranking spot is not scheduled in a break thatmeets the criteria for placing the current spot, then at block 211 thecurrent spot may be added to an exceptions list (and may be removed fromthe spot list).

At block 206, a determination may be made as to whether theplaced/excepted spot is the last spot to be scheduled for a particularcontract line. If the placed/excepted spot is not the last spot to bescheduled for a particular contract line, then at block 203 another spotis selected for scheduling and the above procedure may be repeated forthis newly-selected spot. If the placed/excepted spot is the last spotto be scheduled for a particular contract line, then at block 207advertising copy rotation is checked and advertising copy may beassigned to the spots for the particular contract line, as is known inthe art.

At block 208, a determination is made as to whether there are additionalspots to be scheduled for the current network. If there are additionalspots to be scheduled for the current network, then at block 203 anotherspot is selected for scheduling and the above procedure may be repeatedfor this newly-selected spot. If there are no additional spots to beplaced for the current network, at block 212 the exceptions (e.g., fromthe exceptions list at block 211 above) may be placed. At block 213, adetermination is made as to whether there are additional networks forwhich spots need to be scheduled. If there are additional networks forwhich spots need to be scheduled, then a network is selected forscheduling at block 200 and the above procedure may be repeated for thisnewly-selected network. If there are no further networks for which spotsneed to be scheduled, then the procedure may end at block 214 and adisplay of the schedule for one or more of the networks may be created,printed out, stored, etc., as discussed above.

With attention now directed to FIGS. 3 a through 3 f, these figuresrepresent a set of embodiments of the present disclosure, such as may beimplemented in hardware, software, computer programs, circuitry,methodologies, etc., where like reference numbers refer to likecomponents/procedural stages. In FIG. 3 a, an ordered list of spots maybe provided at block 301. The ordered list of spots may be providedusing an AS Order by Clause as described elsewhere herein. At block 302a first spot may be selected from the ordered list. At block 303, breaksfor scheduling the first spot may be provided. At block 304, a firstcost for each of the breaks may be determined. At block 305 the firstspot may be assigned to one (or more) of the breaks, i.e., the “firstbreak”. The assignment of the first spot to the first break may be madewith respect to fixed and/or relative parameters as discussed herein.

Referring now to FIG. 3 b, blocks 301 through 305 are as described abovefor FIG. 3 a. At block 306, the first block may be removed from theordered list. In FIG. 3 c, blocks 301 through 305 are as describedabove. At block 307, a second spot may be selected from the orderedlist. At block 308, a second cost for each of the breaks, or for onlythe unassigned breaks, may be determined. At block 309 the second spotmay be assigned to one (or more) of the breaks, i.e., the “secondbreak”. The assignment of the second spot to the second break may bemade with respect to fixed and/or relative parameters as discussedherein.

With reference now to FIG. 3 d, blocks 301 through 305, 307, and 308 areas described above. At block 310 a determination may be made as towhether any available unassigned breaks exist that meet the criteria forplacing the second spot. It may be determined that no unassigned breaksare available for placing the second spot, i.e., none of the unassignedbreaks meet the criteria for placing the second spot. At block 311, adetermination may be made that the ranking of the second spot is greaterthan the ranking of the first spot. At block 312, the first spot may bebumped from the first break if, for example, the ranking of the secondspot is greater than the ranking of the first spot and perhaps, forexample, that the first break meets the criteria for placing the secondspot. At block 313, the second spot may be assigned to the first break.

Relating to FIG. 3 e, blocks 301 through 305, 307, 308, and 310 are asdescribed above. At block 314 a determination may be made that theranking of the second spot is less than the ranking of the first spot.At block 315, if, for example, the ranking of the second spot is lessthan the ranking of the first spot, the second spot may be placed on anexceptions list (perhaps for later scheduling) and removed from theordered list. Referring now to FIG. 3 f, blocks 301 through 305, 307,308, 310, 314, and 315 are as described above. At block 316, the secondspot may be assigned to any unassigned break. This assigning of thesecond spot may occur after all the spots of a particular contract linehave been placed.

With attention now directed to FIGS. 4 a through 4 f, these figuresrepresent a set of embodiments of the present disclosure, such as may beimplemented in hardware, software, computer programs, circuitry,methodologies, etc., where like reference numbers refer to likecomponents/procedural stages. In FIG. 4 a, an ordered list of spots maybe generated at block 401. The ordered list of spots may be generatedusing an AS Order by Clause as described elsewhere herein. At block 402a first spot may be selected from the ordered list. At block 403 thefirst spot may be assigned to one (or more) breaks, i.e., the “firstbreak” in any number of ways, such as through preselection or throughthe use of fixed and relative parameters for determining acceptablebreaks, or as a function of a first cost, as described elsewhere herein.The assignment of the first spot to the first break may be made withrespect to fixed and/or relative parameters as discussed herein.

Referring now to FIG. 4 b, blocks 401 through 403 are as described abovefor FIG. 4 a. At block 404, the first block may be removed from theordered list. In FIG. 4 c, blocks 401 through 403 are as describedabove. At block 405, a second spot may be selected from the orderedlist. At block 406, a second cost for each of the breaks, or for onlythe unassigned breaks, may be determined. At block 407 the second spotmay be assigned to one (or more) of the breaks, i.e., the “secondbreak”. The assignment of the second spot to the second break may bemade with respect to fixed and/or relative parameters as discussedherein, or as a function of the second cost.

With reference now to FIG. 4 d, blocks 401 through 403, 405, and 406 areas described above. At block 408 a determination may be made as towhether any available unassigned breaks exist that meet the criteria forplacing the second spot. It may be determined that no unassigned breaksare available for placing the second spot, i.e., none of the unassignedbreaks meet the criteria for placing the second spot. At block 409, adetermination may be made that the ranking of the second spot is greaterthan the ranking of the first spot. At block 410, the first spot may bebumped from the first break if, for example, the ranking of the secondspot is greater than the ranking of the first spot and perhaps, forexample, that the first break meets the criteria for placing the secondspot. At block 411, the second spot may be assigned to the first break.

Relating to FIG. 4 e, blocks 401 through 403, 405, 406, and 408 are asdescribed above. At block 412 a determination may be made that theranking of the second spot is less than the ranking of the first spot.At block 413, if, for example, the ranking of the second spot is lessthan the ranking of the first spot, the second spot may be placed on anexceptions list (perhaps for later scheduling) and removed from theordered list. Referring now to FIG. 4 f, blocks 401 through 403, 405,406, 408, 412, and 413 are as described above. At block 414, the secondspot may be assigned to any unassigned break. This assigning of thesecond spot may occur after all the spots of a particular contract linehave been placed.

With attention now directed towards FIGS. 5 a through 5 k, an example ofscheduling spots in breaks according to an embodiment of the disclosurewill be described, where like reference numbers refer to likecomponents/procedural stages. As will be apparent, the example describedin FIGS. 5 a through 5 k is exemplary only and, for simplicity's sake,makes use of only two fixed parameters and two relative parameters. Thisexample is in no way intended to limit the disclosure in any way. Thoseof skill in the art will readily understand that the example can beexpanded to include any number of fixed and/or relative parameters.Additionally, the example described in FIGS. 5 a through 5 k may be usedfor any number of spots, contract lines, networks, breaks, timedivisions, days, day parts, etc. Additionally, the costs shown areexemplary only and in no way limit the disclosure to the specific costsmentioned.

With the foregoing in mind, FIG. 5 a depicts a simplified representationof a break schedule to be filled with spots for a particular network. Itshall be understood that this example in no way limits the disclosure tothis particular embodiment. The grid shown includes days of the weekwhich are denoted in columns 500 headed by the blocks 500 a through 500g labeled “M”, “T”, “W”, “T”, “F”, “S”, and “S” for Monday, Tuesday,Wednesday, Thursday, Friday, Saturday, and Sunday, respectively. Any daycan be used as the first column of the grid. Day parts are denoted byrows with reference number 501 and may be broken down into “Overnight”,“Morning”, “Afternoon”, and “Prime”, as shown, or by any otherdenomination such as hours of the day, groups of hours, etc. As shown inFIG. 5 a, the day parts may be further subdivided into sub-parts suchthat the blocks of time begin with the hour:minute designations shown (a24-hour clock is depicted for ease of use) for blocks 501 a through 501h, i.e., 01:15 begins the time block row for reference number 501 a,03:45 begins the time block row for reference number 501 b, etc.,through 21:15 beginning the time block row for reference number 501 h.

Referring now to FIG. 5 b, exemplary fixed parameters are applied. Forthis example, the fixed parameter 502 “Day of the Week” and the fixedparameter 503 “Daypart” are used. As previously discussed, thedisclosure is in no way limited to these particular fixed parameters.The “costs” associated with these fixed parameters are also shown inFIG. 5 b. The costs are indicative of a desirability for placing a spotin a break within the confines of the particular day and daypart. TheDay of the Week costs for each day are shown in blocks 502 a through 502g. In this particular example, the costs, which may be user-defined andare in no way limited to the costs shown in this exemplary embodiment,are such that there is a bias towards the earlier days of the week,i.e., the costs associated with Monday, Tuesday, and Wednesday are lessthan the costs associated with the remaining days of the week. TheDaypart costs for each daypart are shown in blocks 503 a through 503 h.In this particular example, the costs, which may be user-defined and arein no way limited to the costs shown in this exemplary embodiment, aresuch that there is a bias towards the “Prime” daypart, i.e., the costsassociated with the two sub-parts in the “Prime” daypart (rows 503 g and503 h) are less than the costs associated with the otherdayparts/sub-parts (rows 503 a through 503 f). Totaling the fixedparameter costs for each row/column results in the numbers shown foreach day and daypart in the grid. Methods other than simple totaling ofthe fixed parameters are contemplated by the present disclosure.

With attention now drawn to FIG. 5 c, the blocks 504 indicate the mostdesirable breaks in the grid based on the two fixed costs discussed withrespect to FIG. 5 b. These six blocks each have a cost of “0” and sincethis is the lowest cost on the grid, these blocks represent the breakswith the highest desirability for the fixed factors used in thisexample. Similarly, the blocks 505 indicate the least desirable breaksin the grid since each of these blocks has a cost of “30” which is thehighest cost on the grid. Preferentially, a spot to be placed will beplaced in one of the blocks 504 since those are the least cost (i.e.,highest desirability) breaks.

Now referring to FIG. 5 d, a first spot is placed in block 508, whichwas one of the blocks 504 in FIG. 5 c. Additionally, two relativeparameters are now added to the grid: “Same Day” in block 506 and “SameDaypart” in block 507. The “Same Day” relative cost is applied to thosedays in which a spot has been placed, thereby making it less desirableto place a second spot on the same day. The “Same Daypart” relative costis applied to those dayparts and/or sub-parts in which a spot has beenplaced thereby making it less desirable to place a second spot on thesame day. Additionally, the fixed and relative parameter costs are notlimited to nonnegative numbers so that if a negative number is used, thedesirability of a particular day and/or daypart for this example isincreased (since the cost would decrease when a negative number is addedto the existing cost for a break). The costs associated with the “SameDay” relative parameter are shown in blocks 506 a through 506 g. Forthis example, each of the “Same Day” costs are set to “100”. As isobvious to those of skill in the art, the “Same Day” costs do notnecessarily all have to be the same value. Similarly, the costsassociated with the “Same Daypart” relative parameter are shown inblocks 507 a through 507 h. For this example, each of the “Same Daypart”costs are set to “50”. As is obvious to those of skill in the art, the“Same Daypart” costs do not necessarily all have to be the same value.

With continuing reference to FIG. 5 d, once the first spot (“Spot 1”)has been placed in the break represented by block 508, the costs for theremaining breaks may be recalculated, this time including theappropriate costs associated with the relative parameters “Same Day” and“Same Daypart” with the costs associated with the fixed parameterspreviously calculated. Alternatively, the costs may be recalculatedwithout reference to the fixed parameter costs. In this particularexample, the costs associated with the block of time represented byblock 508 is not calculated since for this example the assumption of onespot per block, or break, is made for the sake of simplicity withoutintending to limit the disclosure to placing one spot in eachday/daypart block. As shown, the costs for blocks 509 have beenrecalculated by taking into account the additional costs due to therelative parameter “Same Daypart” since Spot 1 has been placed in thesame daypart as the blocks 509. The same recalculation is done for theblocks 511. Likewise, the costs for blocks 510 have been recalculated bytaking into account the additional costs due to the relative parameter“Same Day” since Spot 1 has been placed in the same day (Tuesday) as theblocks 510. The block 512 is located in both the same day and samedaypart as Spot 1, therefore the recalculation of the cost for block 512includes the costs for the relative parameters “Same Day” and “SameDaypart”. The costs for the other blocks remain unchanged since none ofthe other blocks are affected by the costs for the relative parameters,i.e., none of the other blocks are in the same day and/or same daypartas Spot 1. The result is a grid with updated costs, where appropriate.

Referring now to FIG. 5 e, it can be seen that, similar to the analysisdone with respect to FIG. 5 c, the blocks 513 now represent the mostdesirable breaks since the cost “10” associated with blocks 513 is thelowest on the grid. In the same way, the block 514 represents the leastdesirable break since the cost “150” associated with this break is thehighest on the grid. Therefore, a second spot would preferentially beplaced in one of the 513 (lowest cost/highest desirability) blocks.Looking now at FIG. 5 f, a second spot (“Spot 2”) is placed in block515, which was one of the blocks 513 in FIG. 5 e. Consistent with thediscussion above for FIG. 5 d, the costs for the unassignedblocks/breaks are again recalculated for the relative parameters (whichare assumed, for simplicity's sake, to be unchanged throughout thisexample). The changes in the costs for each of the unassigned blocks canbe discerned by comparing the cost associated with a particular block inFIG. 5 e (the cost after placing Spot 1) with the cost for thecorresponding block in FIG. 5 f (the cost after placing Spot 2).

With attention now drawn to FIG. 5 g, the blocks 516 represent the mostdesirable breaks since the cost “15” associated with these blocks is thelowest on the grid. In the same way, the blocks 517 represent the leastdesirable breaks since the cost “160” associated with these blocks isthe highest on the grid. Now looking at FIG. 5 h, a third spot (“Spot3”) is placed in block 518, which was one of the blocks 516 in FIG. 5 g.As before, the costs associated with the unassigned blocks arerecalculated after the placement of Spot 3 and are shown in FIG. 5 h.

Now referring to FIG. 5 i, the blocks 519 represent the most desirablebreaks since the cost “25” associated with these blocks is the lowest onthe grid. In the same way, the blocks 520 represent the least desirablebreaks since the cost “165” associated with these blocks is the higheston the grid. Now looking at FIG. 5 j, a fourth spot (“Spot 4”) is placedin block 521, which was one of the blocks 519 in FIG. 5 i. As above, thecosts associated with the unassigned blocks are recalculated after theplacement of Spot 4 and are shown in FIG. 5 j. Finally, FIG. 5 k revealsthat the blocks 522 represent the most desirable breaks since the cost“60” associated with these blocks is the lowest on the grid. In the sameway, the block 523 represents the least desirable break since the cost“175” associate with this block is the highest on the grid. Therefore,the placement of a fifth spot (not shown) would preferentially be in oneof the blocks 522. As is obvious to those of skill in the art, theprocedure can be repeated until either all of the spots are placedand/or all of the breaks are occupied. It should also be obvious tothose of skill in the art that the foregoing example can be expanded toinclude any number of fixed parameters, relative parameters, any valueof costs, and day and/or time divisions as desired.

Fixed parameters typically do not change when a spot is placed. Fixedparameters may include, but are not limited to, the following: “day ofthe week” which allows a particular cost to be assigned to a particularday, “daypart” which allows a particular cost to be assigned to aparticular daypart, “used break” or “availability” (whether a spot isplaced in a break regardless if the spot is from the same or differentclient, contract, or contract line, for example) which can be used toassign costs so that breaks are more evenly filled, and “empty break”which can be used to assign a cost to empty breaks in order to favorbreaks that already have a spot assigned to it.

Relative parameters typically change as spots are placed. Relativeparameters may include, but are not limited to, the following: “narrowwindow” which may assign a cost to a spot placed in a same time-framewindow as a previously-placed spot, such as a 15-minute window, forexample, “wide window” which may assign a cost to a spot placed in asame time-frame window as a previously-placed spot, such as a 60-minutewindow, for example, “daypart” or “same daypart” which allows for a costto be assigned to the breaks in a daypart for which a previous spot hasbeen placed, “same day” which allows for a cost to be assigned to thebreaks in a day for which a previous spot has been placed, “same day+n”which is similar to “same day” where the “same day” cost is expanded ton days either side of a placed spot, and “preferred product separation”which assigns costs to those breaks close to a previously-assigned breakfor a spot for a particular product or company so as to maintain aseparation in time from the previously-assigned break.

Referring now to FIG. 6, reference number 600 refers to an exemplarygraphical user interface, according to an embodiment of the disclosure,showing an example of a status summary display according to anembodiment of the disclosure. Broadcast zones 601 and networks 602 forma grid for which jobs 603 can be entered to give an operator aquick-look overview of the status of placing spots. Status summarysettings 604 may be used by the operator to change the parameters of thedisplay grid.

With attention now drawn to FIG. 7, the exemplary graphical userinterface 700 represents an input screen according to an embodiment ofthe disclosure. The various inputs on screen 700 may beuser-configurable and the values entered may be set by the user. Theinput screen may include network settings 701 for setting parameters forscheduling on a particular network, as indicated at 705, and mayinclude, but is not necessarily limited to, “NumWeeksToSchedule” forsetting the number of weeks to schedule spots on the particular network,“NumWeeksToNotAllowOSPC” for setting the number of weeks in“NumWeeksToSchedule” to allow oversold and product conflicts (“OSPC”) inthe schedule, “DailyProgramChangeCutoff” for setting the number of hoursprior to scheduling for the system to stop importing network programmingupdates, “SchedulingTimePeriods” for setting time periods when theadaptive scheduler can run, e.g., it may be desirable to not allow thescheduler to run during a particular time when it is anticipated thatchanges will be made to some of the parameters, “FixSchedule” forsetting the time when the scheduling will be completed,“HoursToRequireCopy” for setting the number of hours the system shouldrequire advertising copy for scheduling spots, “WeekendOverrideDay” forsetting the day of the week to stop program changes, contract changes,and/or require copy for the weekend and/or the following Monday, forexample, and “RescheduleCutoff” (not shown) for designating a time afterwhich spots that need to be rescheduled for the current day, forexample, will be allowed to be rescheduled.

With continuing attention to FIG. 7, the input screen of the exemplarygraphical user interface 700 may also include break selection 702 forsetting fixed factors (fixed parameters). The fixed factors may include,but are not limited to, “MondayCost” for setting the cost associatedwith a break occurring on a Monday, “TuesdayCost” for setting the costassociated with a break occurring on a Tuesday, “WednesdayCost” forsetting the cost associated with a break occurring on a Wednesday,“ThursdayCost” for setting the cost associated with a break occurring ona Thursday, “FridayCost” for setting the cost associated with a breakoccurring on a Friday, “SaturdayCost” for setting the cost associatedwith a break occurring on a Saturday, “SundayCost” for setting the costassociated with a break occurring on a Sunday, “UsedBreakCost” forsetting costs to favor scheduling spots evenly, “EmptyBreakCost” forsetting costs to favor scheduling spots in breaks that already have aspot scheduled. and “DayPartCost” (not shown) for assigning costs toparticular dayparts, as discussed previously.

Still with continuing attention to FIG. 7, the input screen of theexemplary graphical user interface 700 may also include break selection703 for setting relative factors (relative parameters). The relativefactors may include, but are not limited to, “NarrowWindowSize” forsetting an amount of time that two spots, typically, but notnecessarily, for the same client and/or same contract, are placed withineach other for the day being scheduled based on historical spotplacement, “NarrowWindowCost” for setting a cost to a break in theNarrowWindowSize, i.e., a same time-frame window as a previously-placedspot, such as a 15-minute window, for example, typically, but notnecessarily, for the same client and/or same contract,“RelativeDaypartCost” for setting a cost to be assigned to the breaks ina daypart for which a previous spot, typically from the same client, hasbeen placed, “WideWindowSize” for setting an amount of time that twospots, typically, but not necessarily, for the same client and/or samecontract, are placed within each other for the day being scheduled basedon historical spot placement, “WideWindowCost” for setting a cost to abreak in the WideWindowSize, i.e., a same time-frame window as apreviously-placed spot, such as a 60-minute window, for example,typically, but not necessarily, for the same client and/or samecontract, “SameDayCost” for setting a cost to a break occurring in thesame day as another spot previously placed, where the previously-placedspot typically, but not necessarily is for the same client and/or samecontract, “SameDayPlus1Cost” for setting a cost to breaks occurring inthe day immediately preceding or immediately following the day apreviously-placed spot occurs, where the previously-placed spottypically, but not necessarily is for the same client and/or samecontract, “ProductSeparationSize (min)” for setting an amount of timethat two spots for the same product, for example, may be placed withineach other for the day being scheduled based on historic spot placement,and “ProductSeparationCost” for setting a cost for breaks within the“ProductSeparationSize (min)” time frame.

With further attention to FIG. 7, the input screen of the exemplarygraphical user interface 700 may also include system settings 704 forsetting systems parameters. The system parameters may include, but arenot limited to, “ASMaxOversold (sec)” which designates the maximumnumber of seconds, for example, that can be shown as over sold or have aproduct conflict in a time frame (e.g., a week) that allow over sellingand/or product conflicts, “”NumWeeksToNotAllowCreditHold” whichdesignates a number of weeks within NumWeeksToSchedule (in the networksettings 701 described above) to allow spots to be scheduled fromcontracts that are in a status of credit hold, “ASCheckforLogs” todisallow spots from being scheduled when a playlist has been previouslygenerated, “BalanceAdCopyDays” may be a true/false entry choice forpreventing front-loading of spots during scheduling due to expiring adcopy, “UseDatedCopyGroups” which enables a feature that allows a user toprovide copy start and stop dates within a rotation pattern that may bedifferent than the ad copy library dates, “BreakSelectionNumofWeeks”(not shown) which designates the number of weeks worth of historicalspot placement data to consider when calculating break schedulingvalues, “ASOrderByClause” which, as discussed above, may be used in thedetermination of the order in which spots are placed by, for example,ordering the various contract lines and/or ordering the various spots tobe placed within one or more contract lines, “ProductSeparation (min)”which designates the number of minutes that need to occur between spotsthat are associated with the same or similar product type,“ClientSeparation (min)” which designates the number of minutes thatneed to occur between spots that are associated with the same client,“AdsPlotterWaitInterval (sec)” (not shown) which designates how oftenthe scheduler will attempt to look for contract lines that need to bescheduled, “AdsPlotterSPTimeOut (sec)” (not shown) which designates howlong a database process will run before stopping and producing anderror, and “AdsPlotterSchedulingBreaksReq” (not shown) which designatesthe number of breaks that must be in the system for a given week, forexample, before scheduling will occur.

Considering now FIG. 8, a detail screen 800 is illustrative of anexemplary graphical user interface, according to an embodiment of thedisclosure. The screen 800 may include a Contract Detail section 805which may include, but is not necessarily limited to, columns for“ConID” (contract identification), “Client”, “Primary Reference”,“Secondary Reference”, “Contract Remarks”, “Zone”, “Network”, “Mod Date”(modification date), “# Spots” (number of spots to be scheduled), and“Cost”. A first contract line 801 is shown with information for theabove-mentioned columns and a second contract line 802 is shown withsimilar information. The screen 800 may also include an InterconnectDetail section 806 which may include, but is not necessarily limited to,columns for “InterConID” (interconnect identification), “Zone”,“Network”, and “Mod Date” (modification date). A first interconnect line803 is shown with information for the above-mentioned columns and asecond interconnect line 804 is shown with similar information.

Referring now to FIG. 9. a job status screen 900 is shown which isillustrative of an exemplary graphical user interface according to anembodiment of the disclosure. The job status screen 900 may include, butis not necessarily limited to, columns for “JobID” (job identification”,“Week #” (week number), “Status”, “Rank”, “Zone”, “Network”, “Run Date”,and “Run Time”. The grid on screen 900 can be coded by the job statusindicators 901 to give the users a quick over view of the status of thejobs in the scheduler.

With attention now directed towards FIG. 10, scheduling system accordingto an embodiment of the disclosure is shown in block diagram form. Adatabase 1001 may include an ordered list of spots to be scheduled,where each spot may have an associated scheduling factor, and aplurality of breaks for one or more networks. A microprocessor 1002 maybe operatively connected to the database 1001 and a display device 1003.The microprocessor may include circuitry for selecting one of the spotsfrom the database 1001, circuitry for determining a first cost for eachof the breaks in the database 1001 as a function of a predeterminedalgorithm, and circuitry for assigning the first spot to one (or more)of the breaks which has a lowest first cost or that has a first costthat is less than a first predetermined amount. The predeterminedalgorithm may determine the first cost as a function of a predeterminedfixed parameter, as described herein. The microprocessor 1002 may alsoinclude circuitry for removing the first spot from the ordered list inthe database 1001. Furthermore, the microprocessor 1002 may includecircuitry for selecting a second spot from the database 1001, which maybe the same as the circuitry for selecting the first spot, circuitry fordetermining a second cost for unassigned breaks in the database 1001 asa function of the first cost and as a function of a predeterminedrelative parameter, as described herein, and circuitry for assigning thesecond spot to one of the unassigned breaks in database 1001 which has alowest second cost or has a second cost that is less than a secondpredetermined amount, which may be the same as the circuitry forassigning the first spot. Additionally, the circuitry for assigning thesecond spot may determine that no unassigned breaks in the database 1001have a second cost less than a second predetermined amount therebypreventing the second spot from being assigned to one of the unassignedbreaks in database 1001, and the circuitry may determine that the secondspot has a ranking greater than a ranking for the first spot, bump thefirst spot from the first break, and assign the second spot to the firstbreak.

Still further, the circuitry for assigning the second spot may determinethat no unassigned breaks have a second cost less than a secondpredetermined amount thereby preventing the second spot from beingassigned to one of the unassigned breaks in the database 1001, and maydetermine that the second spot has a ranking less than a ranking for thefirst spot, place the second spot on an exceptions list, and remove thesecond spot from the ordered list of spots.

Yet further, the circuitry for assigning the second spot may assign thesecond spot to any one of the unassigned breaks in the database 1001.Additionally, the microprocessor 1002 may include circuitry forassigning ad copy to each of the first and second spots.

The display device 1003 may be an electronic display device, such as anLCD (liquid crystal display) screen, a CRT (cathode ray tube), or othersimilar display device, as is known in the art. The display device mayalso be a printer for printing out, rather than displaying, the resultsof the operation of the scheduling system. The display device 1003 maydisplay/print out any or all of the screens shown in FIGS. 6 through 9.

The above description is not intended and should not be construed to belimited to the examples given but should be granted the full breadth ofprotection afforded by the appended claims and equivalents thereto.Although the disclosure is described using illustrative embodimentsprovided herein, it should be understood that the principles of thedisclosure are not limited thereto and may include modification theretoand permutations thereof.

1. A method for scheduling, comprising: (a) prioritizing a list ofnetworks for scheduling advertising spots (“spots”); (b) determining ifone or more networks on said list of networks requires spot scheduling;(c) selecting, from said list of networks, a network which requires spotscheduling; (d) determining one or more commercial break locations(“breaks”) on said selected network; (e) assigning a cost to ones ofsaid one or more breaks, wherein said assigned cost is a function of auser-defined predetermined fixed parameter; and (f) scheduling aselected spot for one of said breaks based on said assigned cost.
 2. Themethod of claim 1 wherein step (b) further comprises displaying anetwork spot schedule if none of said networks requires spot scheduling.3. The method of claim 1 wherein step (c) further comprises: (A)obtaining scheduling information for said selected network; (B)generating an ordered list of spots; (C) selecting a contract line fromsaid ordered list, said contract line containing one or more spots to bescheduled; and (D) selecting a spot for scheduling.
 4. The method ofclaim 3 further comprising: (g) determining if there is an additionalspot to be scheduled from said contract line; and (h) assigning a secondcost to ones of said one or more breaks, wherein said second cost is afunction of a predetermined relative parameter.
 5. The method of claim 1further comprising: (g) if said assigned cost is above a predeterminedthreshold: (A) determining if a bump candidate exists; (B) if no bumpcandidate exists; logging said selected spot as an exception; and (C) ifa bump candidate exists; bumping said bump candidate from its associatedbreak, placing said bump candidate on said ordered list of spots, andscheduling said selected spot in said break associated with said bumpcandidate.
 6. The method of claim 5 further comprising: (D) scheduling aspot logged as an exception in one of said breaks that is not scheduledwith a spot.
 7. The method of claim 1 wherein each of said spots has anassociated scheduling factor.
 8. The method of claim 1 wherein saidfixed parameter is selected from the group consisting of: day of theweek, day part, availability of a commercial break location, andcombinations thereof.
 9. The method of claim 8 wherein said day partparameter is selected from the group consisting of: an overnightparameter, a morning parameter, an afternoon parameter, a primeparameter, and combinations thereof.
 10. The method of claim 4 whereinsaid relative parameter is selected from the group consisting of:interval of time between said first break and said second break,difference in day part of said first break and day part of said secondbreak, difference between day of the week of said first break and day ofthe week of said second break, difference between a first productassociated with said first spot and a second product associated withsaid second spot, and combinations thereof.
 11. The method of claim 7wherein said scheduling factor is selected from the group consisting of:ranking identification, product type, stop time, start, time, stop date,start date, cost, contract line identification number, line number,client value, and combinations thereof.
 12. A method for scheduling,comprising: (a) prioritizing a list of networks for schedulingadvertising spots (“spots”); (b) determining if one or more networks onsaid list of networks requires spot scheduling: (A) if none of saidnetworks requires spot scheduling, displaying a network spot schedule;(B) if one of said networks requires spot scheduling; selecting a firstnetwork; (C) obtaining scheduling information; (D) generating an orderedlist of spots; (E) selecting a first contract line from said orderedlist, said first contract line containing one or more spots to bescheduled; and (F) selecting a first one of said spots (“first spot”);(c) based on said scheduling information, determining if one or morecommercial break locations (“breaks”) on said selected network areacceptable for placing said first spot, wherein each of said breaks hasan assigned first cost which is a function of a predetermined fixedparameter, and wherein said fixed parameter is user defined: (A) if oneor more acceptable breaks is determined to exist, scheduling said firstspot in one of the acceptable breaks; and (B) if one or more acceptablebreaks is determined to not exist: (1) determining if a bump candidateexists; (2) if no bump candidate exists; logging said first spot as anexception; and (3) if a bump candidate exists; bumping said bumpcandidate from its associated break, placing said bump candidate on saidordered list of spots, and scheduling said first spot in said breakassociated with the bump candidate; (d) determining if there are anyadditional spots associated with said contract line: (A) if there areadditional spots associated with said contract line, selecting a secondspot from said first contract line and repeating (c) through (d) forsaid second spot in place of said first spot; and (B) if there are noadditional spots associated with said first contract line, check andassign ad copy to all scheduled spots; and (e) determining if there areadditional contract lines: (A) if there are additional contract lines,selecting a second contract line and repeating (c) through (e) for saidsecond contract line in place of said first contract line; and (B) ifthere are no additional contract lines, placing spots logged asexceptions and repeating (b) through (e) for a second network in placeof said first network.
 13. A system for scheduling, comprising:circuitry for prioritizing a list of networks for scheduling advertisingspots (“spots”); circuitry for determining if one or more networks onsaid list of networks requires spot scheduling; circuitry for selecting,from said list of networks, a network which requires spot scheduling;circuitry for determining one or more commercial break locations(“breaks”) on said selected network; circuitry for assigning a cost toones of said one or more breaks, wherein said assigned cost is afunction of a user-defined predetermined fixed parameter; and circuitryfor scheduling a selected spot for one of said breaks based on saidassigned cost.
 14. The system of claim 13 further comprising a displayfor displaying a network spot schedule if none of said networks requiresspot scheduling.
 15. The system of claim 13 further comprising:circuitry for obtaining scheduling information for said selectednetwork; circuitry for generating an ordered list of spots; circuitryfor selecting a contract line from said ordered list, said contract linecontaining one or more spots to be scheduled; and circuitry forselecting a spot for scheduling.
 16. The system of claim 15 furthercomprising: circuitry for determining if there is an additional spot tobe scheduled from said contract line; and circuitry for assigning asecond cost to ones of said one or more breaks, wherein said second costis a function of a predetermined relative parameter.
 17. The system ofclaim 13 further comprising: circuitry for determining if said assignedcost is above a predetermined threshold, comprising: circuitry fordetermining if a bump candidate exists; circuitry for logging saidselected spot as an exception if no bump candidate exists; and if a bumpcandidate exists, circuitry for bumping said bump candidate from itsassociated break, placing said bump candidate on said ordered list ofspots, and scheduling said selected spot in said break associated withsaid bump candidate.
 18. The system of claim 17 further comprising:circuitry for scheduling a spot logged as an exception in one of saidbreaks that is not scheduled with a spot.
 19. The system of claim 13wherein each of said spots has an associated scheduling factor.
 20. Thesystem of claim 13 wherein said fixed parameter is selected from thegroup consisting of: day of the week, day part, availability of acommercial break location, and combinations thereof.
 21. The system ofclaim 20 wherein said day part parameter is selected from the groupconsisting of: an overnight parameter, a morning parameter, an afternoonparameter, a prime parameter, and combinations thereof.
 22. The systemof claim 16 wherein said relative parameter is selected from the groupconsisting of: interval of time between said first break and said secondbreak, difference in day part of said first break and day part of saidsecond break, difference between day of the week of said first break andday of the week of said second break, difference between a first productassociated with said first spot and a second product associated withsaid second spot, and combinations thereof.
 23. The system of claim 19wherein said scheduling factor is selected from the group consisting of:ranking identification, product type, stop time, start, time, stop date,start date, cost, contract line identification number, line number,client value, and combinations thereof.